
const express = require('express');
const fs = require('fs');
const path = require('path');

let app = express();

// 接收客户端传入的参数保存到data.json中
// 为了兼容不同的请求content-type，所以使用2个中间件来处理
app.use(express.urlencoded());
app.use(express.json());

app.post('/addHeroSkin', (req, res) => {
    try {
        // 1. 通过req.body获取到请求参数:{cname:’妲己’,skin_name:’妲己皮肤’}
        let heroParams = req.body;
        // 2. 通过require() 加载 data.json的老数据
        let heroList = require('./data.json');
        // 3. 通过push方法把第1步的对象追加到数组中
        heroList.push(heroParams);
        // 4. 将数组的值一次性写入到data.json中
        fs.writeFileSync(path.join(__dirname, 'data.json'), JSON.stringify(heroList));

        // 5. 响应给客户端
        res.send({ code: 200, msg: '数据添加成功' });
    } catch (err) {
        res.send({ code: 500, msg: err.message });
    }
})

app.listen(4002, () => {
    console.log('4002post请求参数获取作业');
});